package com.tron.utils.tron;

import java.math.BigDecimal;

/**
 * @description:
 * @projectName:Tron
 * @see:com.tron.utils.tron
 * @author:yst
 * @createTime:2022/11/28 17:12
 * version:
 **/
public interface Trc20Handler {
    /**
     * 返回合约地址
     *
     * @return
     */
    String getContract();

    /**
     * 获取精度
     *
     * @return
     */
    BigDecimal getDecimals();

    /**
     * 查询额度
     *
     * @param address
     * @return
     */
    BigDecimal balanceOf(String address);

    /**
     * 转账
     *
     * @param privateKey 转出地址的私钥
     * @param to         收款地址
     * @param amount     数量 0.1就表示0.1trc20
     * @param remark     备注信息
     * @return
     */
    String transfer(String privateKey, String to, BigDecimal amount, String remark);

    /**
     * 转账(使用默认私钥）
     *
     * @param to
     * @param amount
     * @param remark
     * @return
     */
    String transfer(String to, BigDecimal amount, String remark);
}
